package com.zzyy.study.mq.sender;


import com.zzyy.study.mq.po.MsgPO;

import java.util.Arrays;
import java.util.List;
import java.util.Objects;

public interface IMsgSender {
    /**
     * 批量发送消息
     *
     * @param msgList
     */
    void send(List<Object> msgList);

    /**
     * 发送单条消息
     *
     * @param msg
     */
    default void sendSingleton(Object msg)
    {
        if (Objects.nonNull(msg))
        {
            this.send(Arrays.asList(msg));
        }
    }

    /**
     * 投递重试
     *
     * @param msgPO
     */
    void sendRetry(MsgPO msgPO);
}
